﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x0200140F RID: 5135
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class TrainPartyOption : IMessage<TrainPartyOption>, IMessage, IEquatable<TrainPartyOption>, IDeepCloneable<TrainPartyOption>, IBufferMessage
	{
		// Token: 0x170040CA RID: 16586
		// (get) Token: 0x0600E604 RID: 58884 RVA: 0x00267830 File Offset: 0x00265A30
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<TrainPartyOption> Parser
		{
			get
			{
				return TrainPartyOption._parser;
			}
		}

		// Token: 0x170040CB RID: 16587
		// (get) Token: 0x0600E605 RID: 58885 RVA: 0x00267837 File Offset: 0x00265A37
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return TrainPartyOptionReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x170040CC RID: 16588
		// (get) Token: 0x0600E606 RID: 58886 RVA: 0x00267849 File Offset: 0x00265A49
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return TrainPartyOption.Descriptor;
			}
		}

		// Token: 0x0600E607 RID: 58887 RVA: 0x00267850 File Offset: 0x00265A50
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public TrainPartyOption()
		{
		}

		// Token: 0x0600E608 RID: 58888 RVA: 0x00267858 File Offset: 0x00265A58
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public TrainPartyOption(TrainPartyOption other) : this()
		{
			this.optionId_ = other.optionId_;
			this.confirm_ = other.confirm_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600E609 RID: 58889 RVA: 0x00267889 File Offset: 0x00265A89
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public TrainPartyOption Clone()
		{
			return new TrainPartyOption(this);
		}

		// Token: 0x170040CD RID: 16589
		// (get) Token: 0x0600E60A RID: 58890 RVA: 0x00267891 File Offset: 0x00265A91
		// (set) Token: 0x0600E60B RID: 58891 RVA: 0x00267899 File Offset: 0x00265A99
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint OptionId
		{
			get
			{
				return this.optionId_;
			}
			set
			{
				this.optionId_ = value;
			}
		}

		// Token: 0x170040CE RID: 16590
		// (get) Token: 0x0600E60C RID: 58892 RVA: 0x002678A2 File Offset: 0x00265AA2
		// (set) Token: 0x0600E60D RID: 58893 RVA: 0x002678AA File Offset: 0x00265AAA
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Confirm
		{
			get
			{
				return this.confirm_;
			}
			set
			{
				this.confirm_ = value;
			}
		}

		// Token: 0x0600E60E RID: 58894 RVA: 0x002678B3 File Offset: 0x00265AB3
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as TrainPartyOption);
		}

		// Token: 0x0600E60F RID: 58895 RVA: 0x002678C1 File Offset: 0x00265AC1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(TrainPartyOption other)
		{
			return other != null && (other == this || (this.OptionId == other.OptionId && this.Confirm == other.Confirm && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600E610 RID: 58896 RVA: 0x00267900 File Offset: 0x00265B00
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.OptionId != 0U)
			{
				num ^= this.OptionId.GetHashCode();
			}
			if (this.Confirm)
			{
				num ^= this.Confirm.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600E611 RID: 58897 RVA: 0x00267958 File Offset: 0x00265B58
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600E612 RID: 58898 RVA: 0x00267960 File Offset: 0x00265B60
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600E613 RID: 58899 RVA: 0x0026796C File Offset: 0x00265B6C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.Confirm)
			{
				output.WriteRawTag(40);
				output.WriteBool(this.Confirm);
			}
			if (this.OptionId != 0U)
			{
				output.WriteRawTag(80);
				output.WriteUInt32(this.OptionId);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600E614 RID: 58900 RVA: 0x002679C8 File Offset: 0x00265BC8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.OptionId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.OptionId);
			}
			if (this.Confirm)
			{
				num += 2;
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600E615 RID: 58901 RVA: 0x00267A14 File Offset: 0x00265C14
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(TrainPartyOption other)
		{
			if (other == null)
			{
				return;
			}
			if (other.OptionId != 0U)
			{
				this.OptionId = other.OptionId;
			}
			if (other.Confirm)
			{
				this.Confirm = other.Confirm;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600E616 RID: 58902 RVA: 0x00267A64 File Offset: 0x00265C64
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600E617 RID: 58903 RVA: 0x00267A70 File Offset: 0x00265C70
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 40U)
				{
					if (num != 80U)
					{
						this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
					}
					else
					{
						this.OptionId = input.ReadUInt32();
					}
				}
				else
				{
					this.Confirm = input.ReadBool();
				}
			}
		}

		// Token: 0x04005B0C RID: 23308
		private static readonly MessageParser<TrainPartyOption> _parser = new MessageParser<TrainPartyOption>(() => new TrainPartyOption());

		// Token: 0x04005B0D RID: 23309
		private UnknownFieldSet _unknownFields;

		// Token: 0x04005B0E RID: 23310
		public const int OptionIdFieldNumber = 10;

		// Token: 0x04005B0F RID: 23311
		private uint optionId_;

		// Token: 0x04005B10 RID: 23312
		public const int ConfirmFieldNumber = 5;

		// Token: 0x04005B11 RID: 23313
		private bool confirm_;
	}
}
